The present invention relates to database processing in general and to generation of ABAP code in particular.
SAP R/3 system is an Enterprise Resource Management system used to manage various IT subsystems used to operate a company (e.g., manufacturing, sales and distribution, logistics) in an integrated fashion. A typical SAP R/3 installation requires extensive configuration to embed the specific business rules for the company using SAP R/3 into the system as well as produce the reports required by the company. Most of a generic SAP R/3 system as well as most of the configuration and reporting is written using the ABAP/4 language.
One approach to extracting data uses ETL (xe2x80x9cExtraction, Transformation and Loadingxe2x80x9d) tools to convert a procedural specification into a procedural language to execute that specification. However, since the specification is a procedural specification, the user has to manually specify the optimal (most efficient and fastest) way of executing the specification.
According to one embodiment of the present invention, procedural language code is generated for extracting data from an operational system such as an SAP R/3 system, for transforming it and for loading it into a target system, such as a data warehouse. This is done by accepting a declarative specification and generating procedural language code to execute the declarative specification.
The data extraction process for extracting data from an SAP R/3 system accepts a declarative specification, in visual form or otherwise, and uses an optimizer to optimize the specification and generate an execution plan to perform the extractions and transformations specified in the declarative specification. The process then generates a procedural program in the ABAP language to perform the operation. This approach allows the user to focus on what needs to be done, while the system takes care of the most efficient way for how to do it. Figuring out the most efficient way for executing the specification is a complicated process and will take much effort if done manually by the user. This approach is particularly beneficial when the specification is revised, because the system can easily reoptimize the entire specification and produce a new optimal plan.
A further understanding of the nature and advantages of the inventions herein may be realized by reference to the remaining portions of the specification and the attached drawings.